#!/usr/bin/python
# --coding:utf-8--

# 1. contents和children
from bs4 import BeautifulSoup

html = """
<html>
    <head>
        <title>这是个测试主题</title>
    </head>
<body>
<div>
    <ul>
         <li class="item-0"><a href="https://www.dushu.com/lianzai/1115_1.html">这是第1个链接</a></li>
         <li class="item-1"><a href="https://www.dushu.com/lianzai/1115_2.html">这是第2个链接</a></li>
         <li class="item-inactive"><a href="https://www.dushu.com/lianzai/1115_3.html">
             <span class="bold">这是第3个链接</span></a>
         </li>
         <li class="item-2"><a href="https://www.dushu.com/lianzai/1115_4.html">这是第4个链接</a></li>
         <li class="item-3"><a href="https://www.dushu.com/lianzai/1115_5.html">
             <span class="link-1">这是第3个链接</span></a>
     </li></ul>
 </div>
<p class="内容">这是文章内容</p>
<p class="标题" name="theme"><b>标题信息</b></p>
<p class="标签">内容标签
"""
soup = BeautifulSoup(html, 'lxml')

head_tag = soup.head
# 返回所有子节点的列表
print(head_tag.contents)

# 返回所有子节点的迭代器
for child in head_tag.children:
    print(child)

# 2. strings 和 stripped_strings
print("*******************************================================")
# 如果tag中包含多个字符串 [2] ,可以使用 .strings 来循环获取
for string in soup.strings:
    print(repr(string))

# 输出的字符串中可能包含了很多空格或空行,使用 .stripped_strings 可以去除多余空白内容：
print("*******************************================================")
for string in soup.stripped_strings:
    print(repr(string))


